package com.wowangz.cms.systemmanage.translator.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import tk.mybatis.mapper.common.Mapper;

import com.wowangz.cms.systemmanage.translator.pojo.TblTranslator;
import com.wowangz.cms.systemmanage.translator.pojo.TranslatorWithAbility;

/**
 * 用户信息操作
 *
 * @author 王鑫
 * @version 1.0
 * @since 2016年2月24日
 */
public interface TranslatorMapper extends Mapper<TblTranslator> {

	/**
	 * 根据ID查询用户信息
	 * 
	 * @return
	 */
	public TblTranslator selectById(@Param("id") String id);

	/**
	 * 根据ID查询用户信息(全量信息)
	 * 
	 * @return
	 */
	public TranslatorWithAbility selectTranslatorWithPropertyById(@Param("id") String id);

	/**
	 * 根据ID查询用户信息(忽略data_status字段)
	 * 
	 * @return
	 */
	public TblTranslator selectByIdIgnoreDataStatus(@Param("id") String id);

	/**
	 * 根据用户名/手机/邮箱，查找用户
	 * 
	 * @param user
	 * @return
	 */
	public TblTranslator uniqueByAccount(@Param("account") String account);

	/**
	 * 查询所有译员(带语种能力)
	 * 
	 * @return
	 */
	public List<TranslatorWithAbility> listTranslators(Map<String, Object> params);

	/**
	 * 译员数量
	 * 
	 * @param params
	 * @return
	 */
	public long translatorsCount(Map<String, Object> params);
	
	/**
	 * 译员数量
	 * 
	 * @param params
	 * @return
	 */
	public List<TranslatorWithAbility> translatorsCountBymybatis(Map<String, Object> params);
	
}